package com.itany.corejava.code08_常用类.其他类;

/**
 * @author 石小俊
 * @date 2023年04月28日 13:34
 */
public class Test02_Math {

    public static void main(String[] args) {
        // 获取随机数,获取x-y的数的规律
        // Math.random() * (y - x + 1) + x
        // 获取A-E的随机字符
        System.out.println((char) (Math.random() * ('E' - 'A' + 1) + 'A'));

        // 获取32-56的随机整数
        System.out.println((int) (Math.random() * (56 - 32 + 1) + 32));

        // 求绝对值
        System.out.println(Math.abs(-3));

        // 四舍五入
        System.out.println(Math.round(3.14));
        System.out.println(Math.round(5.67));

        // 常见的常量
        System.out.println("圆周率π的值:" + Math.PI);
        System.out.println("自然对数:" + Math.E);
        // 四舍五入的时候默认保留整数部分
        // 此时我们希望保留两位小数
        // 需要将保留的小数部分变为整数,然后再回复
        System.out.println(Math.round(Math.PI * 100) / 100.0);

        // floor(d):返回小于等于参数d的最大整数,其值是double类型
        System.out.println(Math.floor(3.14));   // 3.0
        System.out.println(Math.floor(-3.14));  // -4.0

        // ceil(d):返回大于等于d的最小整数,其值是double类型
        System.out.println(Math.ceil(3.14));    // 4.0
        System.out.println(Math.ceil(-3.14));   // -3.0

        // pow(x,y):返回x的y次方,返回值是double类型
        System.out.println(Math.pow(3, 2));
        System.out.println(Math.pow(3, 3));
        System.out.println(Math.pow(200, 3));
        System.out.println(Math.pow(10000, 2));

        // max(num1,num2):求两个参数中的最大值
        System.out.println(Math.max(3.14, 3.15));
        // min(num1,num2):求两个参数中的最小值
        System.out.println(Math.min(-3.14, -3.15));

        // sqrt(num):求正平方根
        System.out.println(Math.sqrt(400));
        System.out.println(Math.sqrt(2));
    }
}
